{
 "cells": [
  {
   "cell_type": "code",
   "execution_count": 28,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>age</th>\n",
       "      <th>annualincome</th>\n",
       "      <th>calldroprate</th>\n",
       "      <th>callfailurerate</th>\n",
       "      <th>callingnum</th>\n",
       "      <th>customerid</th>\n",
       "      <th>customersuspended</th>\n",
       "      <th>education</th>\n",
       "      <th>gender</th>\n",
       "      <th>homeowner</th>\n",
       "      <th>...</th>\n",
       "      <th>totalminsusedinlastmonth</th>\n",
       "      <th>unpaidbalance</th>\n",
       "      <th>usesinternetservice</th>\n",
       "      <th>usesvoiceservice</th>\n",
       "      <th>percentagecalloutsidenetwork</th>\n",
       "      <th>totalcallduration</th>\n",
       "      <th>avgcallduration</th>\n",
       "      <th>churn</th>\n",
       "      <th>year</th>\n",
       "      <th>month</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>0</th>\n",
       "      <td>12</td>\n",
       "      <td>168147</td>\n",
       "      <td>0.06</td>\n",
       "      <td>0.00</td>\n",
       "      <td>4251078442</td>\n",
       "      <td>1</td>\n",
       "      <td>Yes</td>\n",
       "      <td>Bachelor or equivalent</td>\n",
       "      <td>Male</td>\n",
       "      <td>Yes</td>\n",
       "      <td>...</td>\n",
       "      <td>15</td>\n",
       "      <td>19</td>\n",
       "      <td>No</td>\n",
       "      <td>No</td>\n",
       "      <td>0.82</td>\n",
       "      <td>5971</td>\n",
       "      <td>663</td>\n",
       "      <td>0</td>\n",
       "      <td>2015</td>\n",
       "      <td>1</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1</th>\n",
       "      <td>12</td>\n",
       "      <td>168147</td>\n",
       "      <td>0.06</td>\n",
       "      <td>0.00</td>\n",
       "      <td>4251078442</td>\n",
       "      <td>1</td>\n",
       "      <td>Yes</td>\n",
       "      <td>Bachelor or equivalent</td>\n",
       "      <td>Male</td>\n",
       "      <td>Yes</td>\n",
       "      <td>...</td>\n",
       "      <td>15</td>\n",
       "      <td>19</td>\n",
       "      <td>No</td>\n",
       "      <td>No</td>\n",
       "      <td>0.82</td>\n",
       "      <td>3981</td>\n",
       "      <td>995</td>\n",
       "      <td>0</td>\n",
       "      <td>2015</td>\n",
       "      <td>2</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2</th>\n",
       "      <td>42</td>\n",
       "      <td>29047</td>\n",
       "      <td>0.05</td>\n",
       "      <td>0.01</td>\n",
       "      <td>4251043419</td>\n",
       "      <td>2</td>\n",
       "      <td>Yes</td>\n",
       "      <td>Bachelor or equivalent</td>\n",
       "      <td>Female</td>\n",
       "      <td>Yes</td>\n",
       "      <td>...</td>\n",
       "      <td>212</td>\n",
       "      <td>34</td>\n",
       "      <td>No</td>\n",
       "      <td>Yes</td>\n",
       "      <td>0.27</td>\n",
       "      <td>7379</td>\n",
       "      <td>737</td>\n",
       "      <td>0</td>\n",
       "      <td>2015</td>\n",
       "      <td>1</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>3</th>\n",
       "      <td>42</td>\n",
       "      <td>29047</td>\n",
       "      <td>0.05</td>\n",
       "      <td>0.01</td>\n",
       "      <td>4251043419</td>\n",
       "      <td>2</td>\n",
       "      <td>Yes</td>\n",
       "      <td>Bachelor or equivalent</td>\n",
       "      <td>Female</td>\n",
       "      <td>Yes</td>\n",
       "      <td>...</td>\n",
       "      <td>212</td>\n",
       "      <td>34</td>\n",
       "      <td>No</td>\n",
       "      <td>Yes</td>\n",
       "      <td>0.27</td>\n",
       "      <td>1729</td>\n",
       "      <td>432</td>\n",
       "      <td>0</td>\n",
       "      <td>2015</td>\n",
       "      <td>2</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>4</th>\n",
       "      <td>58</td>\n",
       "      <td>27076</td>\n",
       "      <td>0.07</td>\n",
       "      <td>0.02</td>\n",
       "      <td>4251055773</td>\n",
       "      <td>3</td>\n",
       "      <td>Yes</td>\n",
       "      <td>Master or equivalent</td>\n",
       "      <td>Female</td>\n",
       "      <td>Yes</td>\n",
       "      <td>...</td>\n",
       "      <td>216</td>\n",
       "      <td>144</td>\n",
       "      <td>No</td>\n",
       "      <td>No</td>\n",
       "      <td>0.48</td>\n",
       "      <td>3122</td>\n",
       "      <td>624</td>\n",
       "      <td>0</td>\n",
       "      <td>2015</td>\n",
       "      <td>1</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "<p>5 rows × 29 columns</p>\n",
       "</div>"
      ],
      "text/plain": [
       "   age  annualincome  calldroprate  callfailurerate  callingnum  customerid  \\\n",
       "0   12        168147          0.06             0.00  4251078442           1   \n",
       "1   12        168147          0.06             0.00  4251078442           1   \n",
       "2   42         29047          0.05             0.01  4251043419           2   \n",
       "3   42         29047          0.05             0.01  4251043419           2   \n",
       "4   58         27076          0.07             0.02  4251055773           3   \n",
       "\n",
       "  customersuspended               education  gender homeowner  ...    \\\n",
       "0               Yes  Bachelor or equivalent    Male       Yes  ...     \n",
       "1               Yes  Bachelor or equivalent    Male       Yes  ...     \n",
       "2               Yes  Bachelor or equivalent  Female       Yes  ...     \n",
       "3               Yes  Bachelor or equivalent  Female       Yes  ...     \n",
       "4               Yes    Master or equivalent  Female       Yes  ...     \n",
       "\n",
       "  totalminsusedinlastmonth  unpaidbalance usesinternetservice  \\\n",
       "0                       15             19                  No   \n",
       "1                       15             19                  No   \n",
       "2                      212             34                  No   \n",
       "3                      212             34                  No   \n",
       "4                      216            144                  No   \n",
       "\n",
       "   usesvoiceservice  percentagecalloutsidenetwork  totalcallduration  \\\n",
       "0                No                          0.82               5971   \n",
       "1                No                          0.82               3981   \n",
       "2               Yes                          0.27               7379   \n",
       "3               Yes                          0.27               1729   \n",
       "4                No                          0.48               3122   \n",
       "\n",
       "  avgcallduration  churn  year  month  \n",
       "0             663      0  2015      1  \n",
       "1             995      0  2015      2  \n",
       "2             737      0  2015      1  \n",
       "3             432      0  2015      2  \n",
       "4             624      0  2015      1  \n",
       "\n",
       "[5 rows x 29 columns]"
      ]
     },
     "execution_count": 28,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "import pandas as pd\n",
    "%matplotlib inline\n",
    "import matplotlib.pyplot as plt\n",
    "df = pd.read_csv('https://amlgitsamples.blob.core.windows.net/churn/CATelcoCustomerChurnTrainingSample.csv')\n",
    "df.head()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 2,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "churn\n",
       "0    AxesSubplot(0.125,0.125;0.775x0.755)\n",
       "1    AxesSubplot(0.125,0.125;0.775x0.755)\n",
       "Name: age, dtype: object"
      ]
     },
     "execution_count": 2,
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "df.groupby('churn').age.plot(kind='kde',\n",
    "                            legend=True)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 167,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "['above_0', 'above_40']\n"
     ]
    },
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>annualincome</th>\n",
       "      <th>calldroprate</th>\n",
       "      <th>callfailurerate</th>\n",
       "      <th>callingnum</th>\n",
       "      <th>customerid</th>\n",
       "      <th>customersuspended</th>\n",
       "      <th>education</th>\n",
       "      <th>gender</th>\n",
       "      <th>homeowner</th>\n",
       "      <th>maritalstatus</th>\n",
       "      <th>...</th>\n",
       "      <th>unpaidbalance</th>\n",
       "      <th>usesinternetservice</th>\n",
       "      <th>usesvoiceservice</th>\n",
       "      <th>percentagecalloutsidenetwork</th>\n",
       "      <th>totalcallduration</th>\n",
       "      <th>avgcallduration</th>\n",
       "      <th>churn</th>\n",
       "      <th>year</th>\n",
       "      <th>month</th>\n",
       "      <th>age_by_bin</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>0</th>\n",
       "      <td>168147</td>\n",
       "      <td>0.06</td>\n",
       "      <td>0.00</td>\n",
       "      <td>4251078442</td>\n",
       "      <td>1</td>\n",
       "      <td>Yes</td>\n",
       "      <td>Bachelor or equivalent</td>\n",
       "      <td>Male</td>\n",
       "      <td>Yes</td>\n",
       "      <td>Single</td>\n",
       "      <td>...</td>\n",
       "      <td>19</td>\n",
       "      <td>No</td>\n",
       "      <td>No</td>\n",
       "      <td>0.82</td>\n",
       "      <td>5971</td>\n",
       "      <td>663</td>\n",
       "      <td>0</td>\n",
       "      <td>2015</td>\n",
       "      <td>1</td>\n",
       "      <td>above_0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1</th>\n",
       "      <td>168147</td>\n",
       "      <td>0.06</td>\n",
       "      <td>0.00</td>\n",
       "      <td>4251078442</td>\n",
       "      <td>1</td>\n",
       "      <td>Yes</td>\n",
       "      <td>Bachelor or equivalent</td>\n",
       "      <td>Male</td>\n",
       "      <td>Yes</td>\n",
       "      <td>Single</td>\n",
       "      <td>...</td>\n",
       "      <td>19</td>\n",
       "      <td>No</td>\n",
       "      <td>No</td>\n",
       "      <td>0.82</td>\n",
       "      <td>3981</td>\n",
       "      <td>995</td>\n",
       "      <td>0</td>\n",
       "      <td>2015</td>\n",
       "      <td>2</td>\n",
       "      <td>above_0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2</th>\n",
       "      <td>29047</td>\n",
       "      <td>0.05</td>\n",
       "      <td>0.01</td>\n",
       "      <td>4251043419</td>\n",
       "      <td>2</td>\n",
       "      <td>Yes</td>\n",
       "      <td>Bachelor or equivalent</td>\n",
       "      <td>Female</td>\n",
       "      <td>Yes</td>\n",
       "      <td>Single</td>\n",
       "      <td>...</td>\n",
       "      <td>34</td>\n",
       "      <td>No</td>\n",
       "      <td>Yes</td>\n",
       "      <td>0.27</td>\n",
       "      <td>7379</td>\n",
       "      <td>737</td>\n",
       "      <td>0</td>\n",
       "      <td>2015</td>\n",
       "      <td>1</td>\n",
       "      <td>above_0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>3</th>\n",
       "      <td>29047</td>\n",
       "      <td>0.05</td>\n",
       "      <td>0.01</td>\n",
       "      <td>4251043419</td>\n",
       "      <td>2</td>\n",
       "      <td>Yes</td>\n",
       "      <td>Bachelor or equivalent</td>\n",
       "      <td>Female</td>\n",
       "      <td>Yes</td>\n",
       "      <td>Single</td>\n",
       "      <td>...</td>\n",
       "      <td>34</td>\n",
       "      <td>No</td>\n",
       "      <td>Yes</td>\n",
       "      <td>0.27</td>\n",
       "      <td>1729</td>\n",
       "      <td>432</td>\n",
       "      <td>0</td>\n",
       "      <td>2015</td>\n",
       "      <td>2</td>\n",
       "      <td>above_0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>4</th>\n",
       "      <td>27076</td>\n",
       "      <td>0.07</td>\n",
       "      <td>0.02</td>\n",
       "      <td>4251055773</td>\n",
       "      <td>3</td>\n",
       "      <td>Yes</td>\n",
       "      <td>Master or equivalent</td>\n",
       "      <td>Female</td>\n",
       "      <td>Yes</td>\n",
       "      <td>Single</td>\n",
       "      <td>...</td>\n",
       "      <td>144</td>\n",
       "      <td>No</td>\n",
       "      <td>No</td>\n",
       "      <td>0.48</td>\n",
       "      <td>3122</td>\n",
       "      <td>624</td>\n",
       "      <td>0</td>\n",
       "      <td>2015</td>\n",
       "      <td>1</td>\n",
       "      <td>above_40</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "<p>5 rows × 29 columns</p>\n",
       "</div>"
      ],
      "text/plain": [
       "   annualincome  calldroprate  callfailurerate  callingnum  customerid  \\\n",
       "0        168147          0.06             0.00  4251078442           1   \n",
       "1        168147          0.06             0.00  4251078442           1   \n",
       "2         29047          0.05             0.01  4251043419           2   \n",
       "3         29047          0.05             0.01  4251043419           2   \n",
       "4         27076          0.07             0.02  4251055773           3   \n",
       "\n",
       "  customersuspended               education  gender homeowner maritalstatus  \\\n",
       "0               Yes  Bachelor or equivalent    Male       Yes        Single   \n",
       "1               Yes  Bachelor or equivalent    Male       Yes        Single   \n",
       "2               Yes  Bachelor or equivalent  Female       Yes        Single   \n",
       "3               Yes  Bachelor or equivalent  Female       Yes        Single   \n",
       "4               Yes    Master or equivalent  Female       Yes        Single   \n",
       "\n",
       "      ...      unpaidbalance usesinternetservice  usesvoiceservice  \\\n",
       "0     ...                 19                  No                No   \n",
       "1     ...                 19                  No                No   \n",
       "2     ...                 34                  No               Yes   \n",
       "3     ...                 34                  No               Yes   \n",
       "4     ...                144                  No                No   \n",
       "\n",
       "   percentagecalloutsidenetwork  totalcallduration avgcallduration  churn  \\\n",
       "0                          0.82               5971             663      0   \n",
       "1                          0.82               3981             995      0   \n",
       "2                          0.27               7379             737      0   \n",
       "3                          0.27               1729             432      0   \n",
       "4                          0.48               3122             624      0   \n",
       "\n",
       "   year  month  age_by_bin  \n",
       "0  2015      1     above_0  \n",
       "1  2015      2     above_0  \n",
       "2  2015      1     above_0  \n",
       "3  2015      2     above_0  \n",
       "4  2015      1    above_40  \n",
       "\n",
       "[5 rows x 29 columns]"
      ]
     },
     "execution_count": 167,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "age_by_bin = [\"above_{0}\".format(age) for age in range(0, 80, 40)]\n",
    "print(age_by_bin)\n",
    "df['age_by_bin'] = pd.cut(x=df['age'], \n",
    "                               bins=len(age_by_bin),\n",
    "                               labels=age_by_bin)\n",
    "df.drop(['age'], axis =1,inplace=True)\n",
    "df.head()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 29,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "categorical features Index(['customersuspended', 'education', 'gender', 'homeowner',\n",
      "       'maritalstatus', 'noadditionallines', 'occupation', 'state',\n",
      "       'usesinternetservice', 'usesvoiceservice'],\n",
      "      dtype='object')\n",
      "numeric features {'numberofcomplaints', 'unpaidbalance', 'churn', 'calldroprate', 'callfailurerate', 'avgcallduration', 'numberofmonthunpaid', 'percentagecalloutsidenetwork', 'callingnum', 'annualincome', 'totalminsusedinlastmonth', 'age', 'totalcallduration', 'penaltytoswitch', 'monthlybilledamount', 'numdayscontractequipmentplanexpiring'}\n"
     ]
    }
   ],
   "source": [
    "df[['year','month']] = df[['year','month']].astype('object')\n",
    "#df = df.fillna(0)\n",
    "df = df.drop_duplicates()\n",
    "df = df.drop(['year','month'], axis = 1)\n",
    "\n",
    "cat_cols = df.select_dtypes(include=['object','category']).columns\n",
    "df.drop('customerid',axis=1, inplace=True)\n",
    "\n",
    "print(\"categorical features\",cat_cols)\n",
    "\n",
    "num_cols = set(df.columns) - set(cat_cols)\n",
    "print(\"numeric features\",num_cols)\n",
    "\n",
    "df = pd.get_dummies(data=df,\n",
    "                       columns=cat_cols,\n",
    "                       prefix='oh_')\n",
    "\n",
    "\n",
    "assert(len(num_cols) == len(df.select_dtypes(include=['float64','int64']).columns))"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 5,
   "metadata": {},
   "outputs": [],
   "source": [
    "label ='churn'\n",
    "y = df[label].values\n",
    "X = df.loc[:, ~df.columns.isin(['churn'])].values"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 30,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "(20468, 88)\n",
      "(20468,)\n"
     ]
    }
   ],
   "source": [
    "from sklearn.preprocessing import MinMaxScaler, StandardScaler\n",
    "\n",
    "scaler =StandardScaler()\n",
    "X = scaler.fit_transform(X)\n",
    "print(X.shape, y.shape,sep='\\n')"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 31,
   "metadata": {},
   "outputs": [],
   "source": [
    "import numpy as np\n",
    "\n",
    "np.save('X.npy',X)\n",
    "np.save('y.npy',y)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 1,
   "metadata": {},
   "outputs": [
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "/extdrive1/anaconda3/envs/amlenv/lib/python3.6/site-packages/sklearn/cross_validation.py:41: DeprecationWarning: This module was deprecated in version 0.18 in favor of the model_selection module into which all the refactored classes and functions are moved. Also note that the interface of the new CV iterators are different from that of this module. This module will be removed in 0.20.\n",
      "  \"This module will be removed in 0.20.\", DeprecationWarning)\n"
     ]
    }
   ],
   "source": [
    "from entry import preprocess,to_normed_tensors"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 2,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "   age  annualincome  calldroprate  callfailurerate  callingnum  customerid  \\\n",
      "0   12        168147          0.06             0.00  4251078442           1   \n",
      "1   12        168147          0.06             0.00  4251078442           1   \n",
      "2   42         29047          0.05             0.01  4251043419           2   \n",
      "3   42         29047          0.05             0.01  4251043419           2   \n",
      "4   58         27076          0.07             0.02  4251055773           3   \n",
      "\n",
      "  customersuspended               education  gender homeowner  ...    \\\n",
      "0               Yes  Bachelor or equivalent    Male       Yes  ...     \n",
      "1               Yes  Bachelor or equivalent    Male       Yes  ...     \n",
      "2               Yes  Bachelor or equivalent  Female       Yes  ...     \n",
      "3               Yes  Bachelor or equivalent  Female       Yes  ...     \n",
      "4               Yes    Master or equivalent  Female       Yes  ...     \n",
      "\n",
      "  totalminsusedinlastmonth  unpaidbalance usesinternetservice  \\\n",
      "0                       15             19                  No   \n",
      "1                       15             19                  No   \n",
      "2                      212             34                  No   \n",
      "3                      212             34                  No   \n",
      "4                      216            144                  No   \n",
      "\n",
      "   usesvoiceservice  percentagecalloutsidenetwork  totalcallduration  \\\n",
      "0                No                          0.82               5971   \n",
      "1                No                          0.82               3981   \n",
      "2               Yes                          0.27               7379   \n",
      "3               Yes                          0.27               1729   \n",
      "4                No                          0.48               3122   \n",
      "\n",
      "  avgcallduration  churn  year  month  \n",
      "0             663      0  2015      1  \n",
      "1             995      0  2015      2  \n",
      "2             737      0  2015      1  \n",
      "3             432      0  2015      2  \n",
      "4             624      0  2015      1  \n",
      "\n",
      "[5 rows x 29 columns]\n"
     ]
    }
   ],
   "source": [
    "df2 = preprocess('https://amlgitsamples.blob.core.windows.net/churn/CATelcoCustomerChurnTrainingSample.csv')"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 3,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "(20468, 85)\n",
      "(20468,)\n"
     ]
    }
   ],
   "source": [
    "(X_train,X_test,y_train,y_test) = to_normed_tensors(df2,123)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 3,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "['customersuspended', 'education', 'gender', 'homeowner', 'maritalstatus', 'noadditionallines', 'occupation', 'state', 'usesinternetservice', 'usesvoiceservice']\n",
      "Encoded columns:\n",
      "Index(['age', 'annualincome', 'calldroprate', 'callfailurerate', 'callingnum',\n",
      "       'customerid', 'monthlybilledamount', 'numberofcomplaints',\n",
      "       'numberofmonthunpaid', 'numdayscontractequipmentplanexpiring',\n",
      "       'penaltytoswitch', 'totalminsusedinlastmonth', 'unpaidbalance',\n",
      "       'percentagecalloutsidenetwork', 'totalcallduration', 'avgcallduration',\n",
      "       'churn', 'year', 'month', 'customersuspended_No',\n",
      "       'customersuspended_Yes', 'education_Bachelor or equivalent',\n",
      "       'education_High School or below', 'education_Master or equivalent',\n",
      "       'education_PhD or equivalent', 'gender_Female', 'gender_Male',\n",
      "       'homeowner_No', 'homeowner_Yes', 'maritalstatus_Married',\n",
      "       'maritalstatus_Single', 'noadditionallines_\\N',\n",
      "       'occupation_Non-technology Related Job', 'occupation_Others',\n",
      "       'occupation_Technology Related Job', 'state_AK', 'state_AL', 'state_AR',\n",
      "       'state_AZ', 'state_CA', 'state_CO', 'state_CT', 'state_DE', 'state_FL',\n",
      "       'state_GA', 'state_HI', 'state_IA', 'state_ID', 'state_IL', 'state_IN',\n",
      "       'state_KS', 'state_KY', 'state_LA', 'state_MA', 'state_MD', 'state_ME',\n",
      "       'state_MI', 'state_MN', 'state_MO', 'state_MS', 'state_MT', 'state_NC',\n",
      "       'state_ND', 'state_NE', 'state_NH', 'state_NJ', 'state_NM', 'state_NV',\n",
      "       'state_NY', 'state_OH', 'state_OK', 'state_OR', 'state_PA', 'state_RI',\n",
      "       'state_SC', 'state_SD', 'state_TN', 'state_TX', 'state_UT', 'state_VA',\n",
      "       'state_VT', 'state_WA', 'state_WI', 'state_WV', 'state_WY',\n",
      "       'usesinternetservice_No', 'usesinternetservice_Yes',\n",
      "       'usesvoiceservice_No', 'usesvoiceservice_Yes'],\n",
      "      dtype='object')\n"
     ]
    }
   ],
   "source": [
    "columns_to_encode = list(df.select_dtypes(include=['category','object']))\n",
    "print(columns_to_encode)\n",
    "for column_to_encode in columns_to_encode:\n",
    "    dummies = pd.get_dummies(df[column_to_encode])\n",
    "    one_hot_col_names = []\n",
    "    for col_name in list(dummies.columns):\n",
    "        one_hot_col_names.append(column_to_encode + '_' + col_name)\n",
    "    dummies.columns = one_hot_col_names\n",
    "    df = df.drop(column_to_encode, axis=1)\n",
    "    df = df.join(dummies)\n",
    "\n",
    "print(\"Encoded columns:\")\n",
    "print(df.columns)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 4,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>age</th>\n",
       "      <th>annualincome</th>\n",
       "      <th>calldroprate</th>\n",
       "      <th>callfailurerate</th>\n",
       "      <th>callingnum</th>\n",
       "      <th>customerid</th>\n",
       "      <th>monthlybilledamount</th>\n",
       "      <th>numberofcomplaints</th>\n",
       "      <th>numberofmonthunpaid</th>\n",
       "      <th>numdayscontractequipmentplanexpiring</th>\n",
       "      <th>...</th>\n",
       "      <th>state_VA</th>\n",
       "      <th>state_VT</th>\n",
       "      <th>state_WA</th>\n",
       "      <th>state_WI</th>\n",
       "      <th>state_WV</th>\n",
       "      <th>state_WY</th>\n",
       "      <th>usesinternetservice_No</th>\n",
       "      <th>usesinternetservice_Yes</th>\n",
       "      <th>usesvoiceservice_No</th>\n",
       "      <th>usesvoiceservice_Yes</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>0</th>\n",
       "      <td>12</td>\n",
       "      <td>168147</td>\n",
       "      <td>0.06</td>\n",
       "      <td>0.00</td>\n",
       "      <td>4251078442</td>\n",
       "      <td>1</td>\n",
       "      <td>71</td>\n",
       "      <td>0</td>\n",
       "      <td>7</td>\n",
       "      <td>96</td>\n",
       "      <td>...</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1</th>\n",
       "      <td>12</td>\n",
       "      <td>168147</td>\n",
       "      <td>0.06</td>\n",
       "      <td>0.00</td>\n",
       "      <td>4251078442</td>\n",
       "      <td>1</td>\n",
       "      <td>71</td>\n",
       "      <td>0</td>\n",
       "      <td>7</td>\n",
       "      <td>96</td>\n",
       "      <td>...</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2</th>\n",
       "      <td>42</td>\n",
       "      <td>29047</td>\n",
       "      <td>0.05</td>\n",
       "      <td>0.01</td>\n",
       "      <td>4251043419</td>\n",
       "      <td>2</td>\n",
       "      <td>8</td>\n",
       "      <td>1</td>\n",
       "      <td>4</td>\n",
       "      <td>14</td>\n",
       "      <td>...</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>3</th>\n",
       "      <td>42</td>\n",
       "      <td>29047</td>\n",
       "      <td>0.05</td>\n",
       "      <td>0.01</td>\n",
       "      <td>4251043419</td>\n",
       "      <td>2</td>\n",
       "      <td>8</td>\n",
       "      <td>1</td>\n",
       "      <td>4</td>\n",
       "      <td>14</td>\n",
       "      <td>...</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>4</th>\n",
       "      <td>58</td>\n",
       "      <td>27076</td>\n",
       "      <td>0.07</td>\n",
       "      <td>0.02</td>\n",
       "      <td>4251055773</td>\n",
       "      <td>3</td>\n",
       "      <td>16</td>\n",
       "      <td>0</td>\n",
       "      <td>2</td>\n",
       "      <td>55</td>\n",
       "      <td>...</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "<p>5 rows × 89 columns</p>\n",
       "</div>"
      ],
      "text/plain": [
       "   age  annualincome  calldroprate  callfailurerate  callingnum  customerid  \\\n",
       "0   12        168147          0.06             0.00  4251078442           1   \n",
       "1   12        168147          0.06             0.00  4251078442           1   \n",
       "2   42         29047          0.05             0.01  4251043419           2   \n",
       "3   42         29047          0.05             0.01  4251043419           2   \n",
       "4   58         27076          0.07             0.02  4251055773           3   \n",
       "\n",
       "   monthlybilledamount  numberofcomplaints  numberofmonthunpaid  \\\n",
       "0                   71                   0                    7   \n",
       "1                   71                   0                    7   \n",
       "2                    8                   1                    4   \n",
       "3                    8                   1                    4   \n",
       "4                   16                   0                    2   \n",
       "\n",
       "   numdayscontractequipmentplanexpiring          ...           state_VA  \\\n",
       "0                                    96          ...                  0   \n",
       "1                                    96          ...                  0   \n",
       "2                                    14          ...                  0   \n",
       "3                                    14          ...                  0   \n",
       "4                                    55          ...                  0   \n",
       "\n",
       "   state_VT  state_WA  state_WI  state_WV  state_WY  usesinternetservice_No  \\\n",
       "0         0         1         0         0         0                       1   \n",
       "1         0         1         0         0         0                       1   \n",
       "2         0         0         1         0         0                       1   \n",
       "3         0         0         1         0         0                       1   \n",
       "4         0         0         0         0         0                       1   \n",
       "\n",
       "   usesinternetservice_Yes  usesvoiceservice_No  usesvoiceservice_Yes  \n",
       "0                        0                    1                     0  \n",
       "1                        0                    1                     0  \n",
       "2                        0                    0                     1  \n",
       "3                        0                    0                     1  \n",
       "4                        0                    1                     0  \n",
       "\n",
       "[5 rows x 89 columns]"
      ]
     },
     "execution_count": 4,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "df.head()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [],
   "source": []
  }
 ],
 "metadata": {
  "kernelspec": {
   "display_name": "Python [conda env:amlenv]",
   "language": "python",
   "name": "conda-env-amlenv-py"
  },
  "language_info": {
   "codemirror_mode": {
    "name": "ipython",
    "version": 3
   },
   "file_extension": ".py",
   "mimetype": "text/x-python",
   "name": "python",
   "nbconvert_exporter": "python",
   "pygments_lexer": "ipython3",
   "version": "3.6.7"
  }
 },
 "nbformat": 4,
 "nbformat_minor": 2
}
